Schedulable Apex হলো Salesforce-এর একটি Asynchronous Apex ফিচার, যা নির্দিষ্ট সময়ে বা নিয়মিত বিরতিতে নির্দিষ্ট Apex কোড চালানোর জন্য ব্যবহৃত হয়। Schedulable Apex ব্যবহার করে নিয়মিত ডেটা প্রসেসিং, রেকর্ড আপডেট, অথবা ব্যাকগ্রাউন্ডে অন্যান্য কাজ স্বয়ংক্রিয়ভাবে সম্পন্ন করা যায়। এটি সাধারণত নির্দিষ্ট সময়ে নির্দিষ্ট কাজ সম্পন্ন করতে সহায়ক।
Schedulable Apex চালানোর জন্য Schedulable
ইন্টারফেস ইমপ্লিমেন্ট করতে হয় এবং execute
মেথড ডিফাইন করতে হয়। execute
মেথডে নির্দিষ্ট কাজ সম্পন্ন করার জন্য কোড লেখা হয়।
global class ScheduledExample implements Schedulable {
global void execute(SchedulableContext sc) {
// নির্দিষ্ট কাজ সম্পন্ন করার কোড
System.debug('Scheduled job is running');
}
}
Schedulable Apex নির্দিষ্ট সময়ে চালানোর জন্য System.schedule মেথড এবং Cron Expression ব্যবহার করা হয়। Cron Expression-এ সময় নির্ধারণ করতে পারেন, যা পাঁচটি অংশ নিয়ে গঠিত:
উদাহরণ | ক্রন এক্সপ্রেশন | বিবরণ |
---|---|---|
প্রতিদিন দুপুর ১২টায় | 0 0 12 * * ? | প্রতিদিন দুপুর ১২টায় চালানো |
প্রতি ঘন্টায় | 0 0 * * * ? | প্রতি ঘন্টায় চালানো |
প্রতি সপ্তাহের সোমবার | 0 0 10 ? * 2 | প্রতি সোমবার সকাল ১০টায় চালানো |
প্রতি মাসের ১ তারিখে | 0 0 0 1 * ? | প্রতি মাসের ১ তারিখে রাত ১২টায় |
নিচে একটি Schedulable Apex ক্লাস এবং Cron Expression ব্যবহার করে Schedulable Apex চালানোর উদাহরণ দেয়া হলো।
global class AccountUpdateScheduler implements Schedulable {
global void execute(SchedulableContext sc) {
List<Account> accounts = [SELECT Id, Name FROM Account WHERE LastModifiedDate = LAST_N_DAYS:30];
for (Account acc : accounts) {
acc.Name = acc.Name + ' - Updated';
}
update accounts;
System.debug('Scheduled job completed: Account names updated');
}
}
// Cron Expression: প্রতিদিন সকাল ৮টায়
String cronExp = '0 0 8 * * ?';
System.schedule('Daily Account Update', cronExp, new AccountUpdateScheduler());
AccountUpdateScheduler
ক্লাসে Account
রেকর্ড আপডেট করার জন্য execute
মেথডে কোড লেখা হয়েছে।Schedulable Apex Salesforce-এ নিয়মিত বিরতিতে স্বয়ংক্রিয় কাজ সম্পন্ন করতে ব্যবহৃত হয়। Cron Expression ব্যবহার করে Schedulable Apex-এ নির্দিষ্ট সময়ে কাজ চালানো যায়। এটি ডেটা প্রসেসিং, ক্লিনআপ, এবং রিমাইন্ডার পাঠানোর জন্য ব্যবহার করা যায়, যা ব্যবসায়িক কার্যক্রম আরও স্বয়ংক্রিয় ও সুনিয়ন্ত্রিত করে তোলে।
common.read_more